home *** CD-ROM | disk | FTP | other *** search
/ Shareware Games Galore! / Shareware Games Galore!.iso / arcade / gameser5 / 21.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-01  |  5.8 KB  |  394 lines

  1. 10  CLS:KEY OFF
  2. 20  PRINT CHR$(26)
  3. 30  PRINT"WHAT IS YOUR LUCKY NUMBER (1 TO 25000)"
  4. 40  INPUT LN
  5. 50  IF LN<1 OR LN>25000 OR LN<>INT(LN) THEN PRINT"FOLLOW INSTRUCTIONS !":GOTO101
  6. 60  LN=LN MOD 97
  7. 70  FOR X=1 TO LN:NL=RND(1):NL=RND(X):NEXT
  8. 80  PRINT : PRINT : PRINT
  9. 90  DIM D(208),H(16),O(16),P(16,11),Q(11),S(16),X(16)
  10. 100  PRINT
  11. 110  PRINT"         ***** BLACKJACK *****"
  12. 120  PRINT
  13. 130  PRINT"INSTRUCTIONS (Y=YES; N=NO)"
  14. 140  INPUT M$
  15. 150  IF M$="Y" GOTO 170
  16. 160  IF M$<>"N" GOTO 130 ELSE GOTO 180
  17. 170  GOSUB 3730
  18. 180  PRINT CHR$(26):R=16
  19. 190  PRINT  "  HOW MANY DECKS? (1-4)";
  20. 200  INPUT N
  21. 210  IF N>0 GOTO 240
  22. 220  PRINT"    1 TO 4 DECKS ONLY!! REENTER ";
  23. 230  GOTO 200
  24. 240  IF N>4 GOTO 220
  25. 250  E=N*52
  26. 260  GOSUB 1840
  27. 270  B=1
  28. 280  GOSUB 1910
  29. 290  A=1
  30. 300  PRINT
  31. 310  G=1
  32. 320  PRINT
  33. 330  PRINT
  34. 340  PRINT
  35. 350  PRINT
  36. 360  INPUT"YOUR BET";U
  37. 370  IF U=0 GOTO 3690:IF U<0 GOSUB 1910
  38. 380  PRINT CHR$(26)
  39. 390  PRINT"YOUR BET IS $";U;"   YOUR STANDING IS $";V
  40. 400  IF U>0 GOTO 450
  41. 410  IF U=0 GOTO 3690
  42. 420  B=1
  43. 430  GOSUB 1910
  44. 440  GOTO 360
  45. 450  IF U<=500 GOTO 480
  46. 460  PRINT"  HOUSE LIMIT IS $500!! REENTER"
  47. 470  GOTO 360
  48. 480  GOSUB 2010
  49. 490  H(1)=U
  50. 500  N=Q(2)
  51. 510  PRINT"MY UP CARD";
  52. 520  GOSUB 2430
  53. 530  PRINT
  54. 540  N=P(R,1)
  55. 550  PRINT TAB(7)"YOUR 1ST CARD"
  56. 560  GOSUB 2430
  57. 570  N=P(R,2)
  58. 580  PRINT TAB(7)"YOUR 2ND CARD"
  59. 590  GOSUB 2430
  60. 600  GOSUB 2760
  61. 610  IF M<>11 GOTO 630
  62. 620  GOSUB 3580
  63. 630  IF W<>21 GOTO 720
  64. 640  PRINT"I HAVE BLACKJACK, ";
  65. 650  IF X(1)<>21 GOTO 690
  66. 660  PRINT"SO DO YOU, WE PUSH";
  67. 670  GOSUB 3490
  68. 680  GOTO 300
  69. 690  PRINT"YOU LOSE ";
  70. 700  V=V-U
  71. 710  GOTO 670
  72. 720  IF X(1)<>21 GOTO 760
  73. 730  PRINT"YOU HAVE BLACKJACK, YOU WIN!"
  74. 740  V=V+3*U/2
  75. 750  GOTO 670
  76. 760  PRINT"PLAY ";
  77. 770  IF R=1 GOTO 790
  78. 780  PRINT"FOR HAND ";G;"   ";
  79. 790  INPUT F
  80. 800  IF F>-1 GOTO 830
  81. 810  PRINT"ONLY 0-3 ARE VALID! REENTER";
  82. 820  GOTO 790
  83. 830  IF F>3 GOTO 810
  84. 840  IF F<>1 GOTO 1150
  85. 850  IF A<=E GOTO 870
  86. 860  GOSUB 2860
  87. 870  M=S(G)
  88. 880  M=M+1
  89. 890  S(G)=M
  90. 900  N=D(A)
  91. 910  P(G,M)=N
  92. 920  PRINT TAB(7)"YOUR CARD IS ";
  93. 930  GOSUB 2430
  94. 940  GOSUB 2340
  95. 950  A=A+1
  96. 960  IF N<>11 GOTO 980
  97. 970  O(G)=O(G)+1
  98. 980  X(G)=X(G)+N
  99. 990  IF X(G)<22 GOTO 760
  100. 1000  IF O(G)=0 GOTO 1040
  101. 1010  O(G)=O(G)-1
  102. 1020  X(G)=X(G)-10
  103. 1030  GOTO 990 
  104. 1040  PRINT:PRINT"YOU BUSTED WITH ";X(G)
  105. 1050  X(G)=0
  106. 1060  Y=Y-1
  107. 1070  IF G<R GOTO 1100
  108. 1080  GOSUB 2990
  109. 1090  GOTO 300
  110. 1100  G=G+1
  111. 1110  N=P(G,1)
  112. 1120  PRINT"YOUR FIRST CARD FOR HAND  ";G;"  WAS  ";
  113. 1130  GOSUB 2430
  114. 1140  GOTO 760
  115. 1150  IF F<>0 GOTO 1210
  116. 1160  IF X(G)<22 GOTO 1070
  117. 1170  IF O(G)=0 GOTO 1040
  118. 1180  X(G)=X(G)-10
  119. 1190  O(G)=O(G)-1
  120. 1200  G=G+1
  121. 1210  IF F<>2 GOTO 1420
  122. 1220  IF S(G)=2 GOTO 1250
  123. 1230  PRINT"DOUBLE ON FIRST TWO CARDS ONLY!!"
  124. 1240  GOTO 760
  125. 1250  IF A<=E GOTO 1270
  126. 1260  GOSUB 2860
  127. 1270  H(G)=2*U
  128. 1280  N=D(A)
  129. 1290  P(G,3)=N
  130. 1300  A=A+1
  131. 1310  PRINTTAB(20)"YOU DRAW THE ";
  132. 1320  GOSUB 2430
  133. 1330  GOSUB 2340
  134. 1340  IF N<>11 GOTO 1360
  135. 1350  O(G)=O(G)+1
  136. 1360  X(G)=X(G)+N
  137. 1370  IF X(G)<22 GOTO 1070
  138. 1380  IF O(G)=0 GOTO 1040
  139. 1390  O(G)=O(G)-1
  140. 1400  X(G)=X(G)-10
  141. 1410  GOTO 1370
  142. 1420  N=P(G,1)
  143. 1430  Y=Y+1
  144. 1440  GOSUB 2340
  145. 1450  M=N
  146. 1460  N=P(G,2)
  147. 1470  GOSUB 2340
  148. 1480  IF M=N GOTO 1510
  149. 1490  PRINT"YOU MAY ONLY SPLIT PAIRS!!";
  150. 1500  GOTO 760
  151. 1510  R=R+1
  152. 1520  Y=Y+1
  153. 1530  P(R,1)=P(G,2)
  154. 1540  S(G)=1
  155. 1550  S(R)=1
  156. 1560  X(G)=X(G)/2
  157. 1570  X(R)=X(G)
  158. 1580  H(R)=U
  159. 1590  IF N<>11 GOTO 760
  160. 1600  IF A<=E GOTO 1620
  161. 1610  GOSUB 2860
  162. 1620  N=D(A)
  163. 1630  P(G,2)=N
  164. 1640  PRINT"1ST ACE GETS:";
  165. 1650  GOSUB 2430
  166. 1660  GOSUB 2340
  167. 1670  IF N<>11 GOTO 1690
  168. 1680  N=1
  169. 1690  X(G)=X(G)+N
  170. 1700  A=A+1
  171. 1710  IF A<=E GOTO 1740
  172. 1720  GOSUB 2860
  173. 1730  S=0
  174. 1740  N=D(A)
  175. 1750  P(R,2)=N
  176. 1760  PRINT"2ND ACE GETS:";
  177. 1770  GOSUB 2430
  178. 1780  GOSUB 2340
  179. 1790  IF N<>11 GOTO 1810
  180. 1800  N=1
  181. 1810  X(R)=X(R)+N
  182. 1820  A=A+1
  183. 1830  GOTO 1080
  184. 1840  FOR I=1 TO N
  185. 1850  J=(I-1)*52
  186. 1860  FOR K=1 TO 52
  187. 1870  D(K+J)=K
  188. 1880  NEXT K
  189. 1890  NEXT I
  190. 1900  RETURN
  191. 1910  PRINT"I'M SHUFFLING THE CARDS ",
  192. 1920  FOR I=B TO E
  193. 1930  C=RND(5)*E
  194. 1940  IF C<B GOTO 1930
  195. 1950  L=D(I)
  196. 1960  D(I)=D(C)
  197. 1970  D(C)=L
  198. 1980  NEXT I
  199. 1990  A=B
  200. 2000  RETURN
  201. 2010  FOR I=1 TO 11
  202. 2020  Q(I)=0
  203. 2030  FOR J=1 TO R
  204. 2040  P(J,I)=0
  205. 2050  NEXT J
  206. 2060  NEXT I
  207. 2070  R=1
  208. 2080  Y=1
  209. 2090  IF A+4<=E GOTO 2120
  210. 2100  B=1
  211. 2110  GOSUB 1910
  212. 2120  PRINT"DEALING"
  213. 2130  PRINT
  214. 2140  P(R,1)=D(A)
  215. 2150  Q(1)=D(A+1)
  216. 2160  P(R,2)=D(A+2)
  217. 2170  Q(2)=D(A+3)
  218. 2180  A=A+4
  219. 2190  T=2
  220. 2200  S(1)=2
  221. 2210  GOSUB 2240
  222. 2220  M=N
  223. 2230  RETURN
  224. 2240  Z=0
  225. 2250  W=0
  226. 2260  FOR I=1 TO 2
  227. 2270  N=Q(I)
  228. 2280  GOSUB 2340
  229. 2290  IF N<>11 GOTO 2310
  230. 2300  Z=Z+1
  231. 2310  W=W+N
  232. 2320  NEXT I
  233. 2330  RETURN
  234. 2340  IF N<14 GOTO 2370
  235. 2350  N=N-13
  236. 2360  GOTO 2340
  237. 2370  IF N<>1 GOTO 2400
  238. 2380  N=11
  239. 2390  RETURN
  240. 2400  IF N<11 GOTO 2420
  241. 2410  LET N=10
  242. 2420  RETURN
  243. 2430  I=0
  244. 2440  IF N<14 GOTO 2480
  245. 2450  N=N-13
  246. 2460  I=I+1
  247. 2470  GOTO 2440
  248. 2480  IF N<>1 GOTO 2510
  249. 2490  PRINT TAB(17);"ACE";
  250. 2500  GOTO 2640
  251. 2510  IF N>9 GOTO 2540
  252. 2520  PRINT TAB(18);N;
  253. 2530  GOTO 2640
  254. 2540  IF N>10 GOTO 2570
  255. 2550  PRINT TAB(17);N;
  256. 2560  GOTO 2640
  257. 2570  IF N>11 GOTO 2600
  258. 2580  PRINT TAB(16);"JACK";
  259. 2590  GOTO 2640
  260. 2600  IF N>12 GOTO 2630
  261. 2610  PRINT TAB(16);"QUEEN";
  262. 2620  GOTO 2640
  263. 2630  PRINT TAB(16);"KING";
  264. 2640  PRINT" OF ";
  265. 2650  IF I<>0 GOTO 2680
  266. 2660  PRINT"SPADES"
  267. 2670  RETURN
  268. 2680  IF I<>1 GOTO 2710
  269. 2690  PRINT"HEARTS"
  270. 2700  RETURN
  271. 2710  IF I<>2 GOTO 2740
  272. 2720  PRINT"DIAMONDS"
  273. 2730  RETURN
  274. 2740  PRINT"CLUBS"
  275. 2750  RETURN
  276. 2760  O(G)=0
  277. 2770  X(G)=0
  278. 2780  FOR I=1 TO 2
  279. 2790  N=P(G,I)
  280. 2800  GOSUB 2340
  281. 2810  X(G)=X(G)+N
  282. 2820  IF N<>11 GOTO 2840
  283. 2830  O(G)=O(G)+1
  284. 2840  NEXT I
  285. 2850  RETURN
  286. 2860  K=T
  287. 2870  FOR I=1 TO R
  288. 2880  K=K+S(I)
  289. 2890  NEXT I
  290. 2900  FOR I=1 TO K
  291. 2910  A=A-1
  292. 2920  J=D(I)
  293. 2930  D(I)=D(A)
  294. 2940  D(A)=J
  295. 2950  NEXT I
  296. 2960  B=K+1
  297. 2970  GOSUB 1910
  298. 2980  RETURN
  299. 2990  N=Q(1)
  300. 3000  PRINT"MY HOLE CARD"
  301. 3010  GOSUB 2430
  302. 3020  IF Y=0 GOTO 3280
  303. 3030  IF W<17 GOTO 3080
  304. 3040  IF W>17 GOTO 3200
  305. 3050  IF Z=0 GOTO 3260
  306. 3060  W=W-10
  307. 3070  Z=Z-1
  308. 3080  IF A<=E GOTO 3100
  309. 3090  GOSUB 2860
  310. 3100  N=D(A)
  311. 3110  A=A+1
  312. 3120  Q(T)=N
  313. 3130  PRINT"I DRAW THE";
  314. 3140  GOSUB 2430
  315. 3150  GOSUB 2340
  316. 3160  IF N<>11 GOTO 3180
  317. 3170  Z=Z+1
  318. 3180  W=W+N
  319. 3190  GOTO 3030
  320. 3200  IF W<22 GOTO 3260
  321. 3210  IF Z=0 GOTO 3250
  322. 3220  Z=Z-1
  323. 3230  W=W-10
  324. 3240  GOTO 3030
  325. 3250  PRINT"I BUSTED ";
  326. 3260  PRINT"MY TOTAL IS ";W
  327. 3270  PRINT TAB(7)"YOUR TOTAL IS ";X(G)
  328. 3280  FOR I=1 TO R
  329. 3290  PRINT"YOU ";
  330. 3300  IF X(I)<>0 GOTO 3340
  331. 3310  PRINT"LOST ";
  332. 3320  V=V-H(I)
  333. 3330  GOTO 3430
  334. 3340  IF W<22 GOTO 3380
  335. 3350  PRINT"WON ";
  336. 3360  V=V+H(I)
  337. 3370  GOTO 3430
  338. 3380  IF W<>X(I) GOTO 3410
  339. 3390  PRINT"PUSHED ON ";
  340. 3400  GOTO 3430
  341. 3410  IF W<X(I) GOTO 3350
  342. 3420  GOTO 3310
  343. 3430  IF R<>1 GOTO 3460
  344. 3440  PRINT"THE HAND"
  345. 3450  GOTO 3470
  346. 3460  PRINT"HAND ";I
  347. 3470  NEXT I
  348. 3480  PRINT
  349. 3490  PRINT"YOU ARE ";
  350. 3500  IF V<>0 GOTO 3530
  351. 3510  PRINT"EVEN"
  352. 3520  RETURN
  353. 3530  IF V>0 GOTO 3560
  354. 3540  PRINT"LOSING $";V
  355. 3550  RETURN
  356. 3560  PRINT"WINNING $";V
  357. 3570  RETURN
  358. 3580  PRINT"INSURANCE ? (Y=YES; N=NO)":INPUT M$
  359. 3590  IF M$="Y" GOTO 3610
  360. 3600  RETURN
  361. 3610  PRINT"YOUR INSURANCE BET ";
  362. 3620  IF W<>21 GOTO 3660
  363. 3630  PRINT"WINS"
  364. 3640  V=V+U
  365. 3650  RETURN
  366. 3660  PRINT"LOSES"
  367. 3670  V=V-U/2
  368. 3680  RETURN
  369. 3690  PRINT"HERE'S YOUR FINAL STANDING!"
  370. 3700  GOSUB 3490
  371. 3710  GOTO 3930
  372. 3720  PRINT
  373. 3730  PRINT"THE DEALER STANDS ON 17 OR MORE,"
  374. 3740  PRINT"BUT WILL HIT A SOFT 17."
  375. 3750  PRINT"YOU MAY SPLIT ANY PAIR."
  376. 3760  PRINT"YOU MAY DOUBLE DOWN ON FIRST TWO CARDS,"
  377. 3770  PRINT"AND GET ONLY ONE MORE CARD."
  378. 3780  PRINT
  379. 3790  PRINT"HOUSE LIMIT IS $500 ON EACH HAND......."
  380. 3800  PRINT
  381. 3810  PRINT"USE THESE CODES TO PLAY:"
  382. 3820  PRINT"   0-STAND"
  383. 3830  PRINT"   1-HIT"
  384. 3840  PRINT"   2-DOUBLE DOWN"
  385. 3850  PRINT"   3-SPLIT A PAIR"
  386. 3860  PRINT
  387. 3870  PRINT"A ZERO BET ENDS THE GAME."
  388. 3880  PRINT"A NEGATIVE BET FORCES A SHUFFLE."
  389. 3890  PRINT"TO START, HIT RETURN KEY."
  390. 3900  WAIT 0,1,1
  391. 3910  RETURN
  392. 3920  GOTO 3930
  393. 3930  END
  394.